package com.jpa.domain;

import java.io.Serializable;

import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

/**
 * @Description 用户实体
 *
 * @author 堆堆堆
 * @date 2018年4月19日 下午12:25:41
 */
@Data
@Builder
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Table(name = "t_car")
public class Car implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 主键 id
	 */
	@Id
	// 定义主键生成策略，此处定义为自增长
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Integer id;

	/**
	 * 颜色
	 */
	private String color;

	/**
	 * 车主
	 */
	// name：生成在 t_car 表中关联字段的名称
	// referencedColumnName：指定关联 User 类中的字段
	@JoinColumn(name = "user_id", referencedColumnName = "id")
	@ManyToOne(fetch = FetchType.EAGER)
	private User user;
}
